"The Wall Street Journal Guide to Information Graphics" ( 월스트리트저널 인포그래픽 가이드 )
책을 참고해서, 독자들을 위한 데이터 시각화의 기본적인 사항을 알아보자.
(기본의 중요성)
기본의 중요성을 체감하기 위해서
책을 읽기 전에 작성했던 기본적인 사항을 고려하지 않았을 때의 시각화 결과물과
책에서 배운 내용을 적용한 시각화 결과물을 비교해보자.
최근에 작성한 데이터스토리에서 드라마에 출연하는 배우의 나이와 시청률의 상관관계를 본적이 있다.
해당 그래프를 보여주면서 전달하고자 했던 점은 연령대에 따른 시청률의 차이였다.
물론, 나는 색을 장식 목적으로 사용하지는 않았다.
다만, 색으로 서로 다른 드라마라는 것을 보여주고 싶었다.
하지만 위의 그래프를 봤을 때, 드라마의 수가 많아서 현란한 색으로 해당 목적이 잘 전달되지 않았을 수도 있겠다는 생각을 했다.
본래의 목적인 연령대에 따른 시청률의 차이를 더 잘 나타내기 위해 다음과 같이 바꿔 보았다.
여러분은 어떤 그래프에서 연령대에 따른 시청률의 차이가 잘 느껴졌는가
사람마다 선호하는게 다를 수 있다.
하지만 책 "The Wall Street Journal Guide to Information Graphics" 에서는 말한다.
"장식 목적이 아닌 정보전달을 위해 색을 사용해라"
대한민국 군인마트 PX에서 어떤 상품이 잘 팔릴까?를 알아보는
데이터스토리에서 나온 그래프이다.
위의 그래프를 보면 y축을 나타내는 텍스트가 세로로 적혀있는 것을 볼 수 있다.
책에서는 한눈에 정보를 받아들일 수 있게 글꼴을 회전시키지 말라고 말한다.
이제껏 자동으로 세로쓰기가 설정되어 왔기 때문에 그냥 썼지만...
독자 friendly한 그래프를 그리고 싶기에 바꿔보려한다.
하지만 plotly 라이브러리에는 y축의 텍스트를 90도 회전할 수 있는 옵션이 없다..
그래서 matplotlib 라이브러리를 사용해서 비교해 보았다.
어떤 그래프가 더 직관적인가?
개인적으로 matplotlib 라이브러리가 더 직관적으로 보인다.
( matplotlib으로 갈아타야하는 것일까? )
이번에는 x축의 텍스트가 회전되어있는 경우이다.
해당 그래프는 송중기 배우의 출연작 시청률을 나타내는 그래프다.
이 경우에는 드라마의 이름이 길어서 대각선으로 텍스트가 배치되어있다.
책에서 이름이 긴 경우에는 대안으로써 수평 막대 차트로 표현한다.
라고 말한다.
책에서 시킨대로 해봤다.
확실히 한눈에 더 들어오는것 같다.
지금까지 '공간 절약을 위해 글꼴을 회전시키지 마라'라는 책의 조언에 따라 그래프를 개선 시켜봤다.
확실히 글꼴의 거추장스러움의 제거하니 한눈에 정보가 전달되는 듯한 느낌을 받았다.
데이터를 압도하는 텍스트의 시각적 효과를 지양하자!
'차트 하나에 표현할 선은 3개까지로 제한하며, 교차지점이 많지 않으면 최대 4개까지도 가능하다.'
'PX에서 여름에 어떤 음료가 많이 팔릴까'라는 데이터스토리를 작성할 때
다양한 종류의 음료수 누적 판매 개수를 나타내기 위해 아래와 같은 차트를 그린 적이있다.
한눈에 보기에 너무 지저분하다는 생각이 들었지만, 다른 방법이 떠오르지 않았다.
차트 선의 개수를 4개 이하로 줄여보면 어떨까?
이것도 그다지 좋아보이지 않는다.
애초에 추세선 그래프는 이 데이터에 어울리지 않았던 것일까?
이 데이터를 더 효과적으로 잘 나타낼 방법은 더 고민해봐야 할 것같다.
( 책에서는 다른 방법으로 데이터 집합이 4개 이상이면, 개개의 선을 하나씩 따로 빼내서 배열하는 방법을 추천하기도 한다. )
"The Wall Street Journal Guide to Information Graphics"
책을 읽고 쉽게 지나칠 수 있었던 사항들에 대해서
더 세심한 신경을 써야겠다는 생각이 들었다.
더 명확하고 직관적인 데이터 시각화를 위해서!